package logger

//可以挂载到别的框架中
func NewLoggerIO(loglv logLevel, key LogKeyEnum) *LoggerIO {
	return &LoggerIO{
		LogLv: loglv,
		Key:   key,
	}
}

//一般第三方的框架都是可以设置一个支持io.Write接口的对象传入就可以了
type LoggerIO struct {
	LogLv logLevel
	Key   LogKeyEnum
}

func (this *LoggerIO) Write(p []byte) (n int, err error) {
	this.PAlart(string(p))
	return 0, nil
}

func (this *LoggerIO) PAlart(params ...interface{}) {
	switch this.LogLv {
	case LogLevelDebug:
		Debug(this.Key, params...)
	case LogLevelInfo:
		Info(params...)
	case LogLevelWarn:
		Warn(params...)
	case LogLevelError:
		Error(params...)
	case LogLevelFatal:
		Fatal(params...)
	}
}
